#pragma once
#include "BaseObject.h"
#include "../SGD Wrappers/SGD_Geometry.h"


enum class ObjectType{
	BACKGROUND, GROUND, SPEEDPOTION, DEADLY, SLOWPOTION, FASTPOTION, NOFRICTIONPOTION, NODEATHPOTION, TRANSPARENTS, GRAPPLEHOOK, UPGRADE,
	TopLeftSlant, TopRightSlant, BottomLeftSlant, BottomRightSlant, InnerTopLeftSlant, PhaseGun,
	InnerTopRightSlant, InnerBottomLeftSlant, InnerBottomRightSlant, Lights, Safe, Smashable, SmashCrate, Win,
	NotSafe, GravBoots, PortalMenu, PortalNext, PhaseWall, Bomb, Scissors, Hookable, Fan, AcidPool, LandMine, TeslaCoil, Wire, PortalReset, Jet, GateUp
};

//InnerTopLeftSlant
//InnerTopRightSlant
//InnerBottomLeftSlant
//InnerBottomRightSlant
//safe 26

class StaticObject: public BaseObject
{
protected:

	//to know what potion was created
	//enum ObjectType{ SPEEDPOTION, DEADLY };
	ObjectType		m_eType;
	int				m_nImageID;
	SGD::Rectangle	m_rTextureSection;
	bool			m_bWasTriggered;
	
public:
	StaticObject();
	~StaticObject();

	virtual		ObjectType	GetObjectType() const			{ return m_eType; };
	void		SetObjectType(ObjectType type)  { m_eType = (ObjectType)type; }
	void		SetImageID(int id) { m_nImageID = id; }
	void		SetTexttureRectangle(SGD::Rectangle rec) { m_rTextureSection = rec; }
	void		SetWasTriggered(bool b)					 { m_bWasTriggered = b; }


	void HandleCollision(BaseObject* pOther);
	void Render();
	void Update(float dt);
	virtual SGD::Rectangle	GetRect() const;


};